Lusion_Tasks = {}

-- Yes, time limit is required. Time limit is counted in minutes. 0 for unlimited time.
function LUSION:NewTask( String_MapName, Vector, String_TaskName, String_TaskDescription, Int_TimeLimit, Float_Difficulty )
	if not (String_MapName or Vector or String_TaskName or String_TaskDescription or Int_TimeLimit or Float_Difficulty) then return end
	
	table.insert(Lusion_Tasks, { mapName = String_MapName, vector = Vector, taskName = String_TaskName, taskDescription = String_TaskDescription, timelimit = Int_TimeLimit, difficulty = Float_Difficulty } )
	return #Lusion_Tasks -- easier for us to do something like pl:HasFinishedTask( TASK_TASKNAME )
end

-- Tasks are rated on a scale from 1-5 (Floats allowed; 1.5,2.3, etc), with 1 being the easiest and 5 being the hardest

--[[ LUSION_Construct ]]--
	TASK_GRANNYLUSIONAN		= LUSION:NewTask( "gm_construct", Vector(681.552307, 371.381744, -83.872513), "Granny GMan", "Granny GMan forgot her meds and is starting to hallucinate.\nHurry up before she has a stroke!", 10, 1.0)
	TASK_CLIMBDOWNLUSIONAN	= LUSION:NewTask( "gm_construct", Vector(-2988.545166, -1877.936157, 256.031250), "Bring GMan down!", "GMan was exploring the small town of constroctopalis\n and was settling down for the night. When he woke up\nhe had actually fell off a cliff.\nGo get his supplies back for him.", 5, 1.0)
	TASK_LOSTLUSIONAN		= LUSION:NewTask( "gm_construct", Vector(-2724.748535, 5068.469727, -29.844986), "GMan is Lost!", "Go obtain/create a compass for GMan", 0, 1.1)
	TASK_OLDLUSIONAN		= LUSION:NewTask( "gm_construct", Vector(-860.513733, -1889.766846, -79.968750), "GMan is old, can you PLEASE explain to him how an ATM works? He's holding up the line!", 0, 1.0)
	
	local newtask = {}
	newtask.TaskID = TASK_GRANNYLUSIONAN
	newtask.Strength = 0	-- Strength required to perform this task. 0 = none needed; How strong must the player be?
	newtask.Agility = 0		-- Agility required to perform this task. 0 = none needed; How fast does a player need to run
	newtask.Intelligence = 0	-- Intelligence required to perform this task. 0 = none needed; How much extra salary does a player need?
	newtask.Charisthma = 0		-- Charisthma required to perform this task. 0 = none needed; How much more percent to get a job just by asking a recruiter do they need?
	newtask.Rewards = {}
	newtask.Rewards["abilities"] = {"Strength","Agility"}	-- Each ability you define in here will increase by 1. You do not have a choice to upgrade by more than 1 point.
	newtask.Rewards["currency"] = {900}		-- How much the player recieves.
	newtask.Rewards["misc"] = {}	-- Misc rewards can have nothing atm.
	
	newtask.StartTask = function(pl)
		pl:ChatPrint("You started a quest!")
	end
	newtask.FailTask = function(pl)
		pl:ChatPrint("You failed a quest!")
	end
	newtask.PassTask = function(pl)
		pl:ChatPrint("You finished a task successfully!")
		--table.insert(pl.Tasks, newtask.TaskID)
	end
	